// 作者： XXX
layui.use(['table', 'layer', 'form', 'layedit', 'laypage', 'laydate'], function () {
  var table = layui.table, //表格
      layer = layui.layer, //弹层
      form = layui.form, //form表单
      layedit = layui.layedit,
      laydate = layui.laydate;

  /**
   * 制定与分配消缺任务列表
   */
  ;(function () {
    //加载日期选择框
    laydate.render({
      elem: '#startDate'
    });
    laydate.render({
      elem: '#endDate'
    });
    //任务状态添加到下拉框中
    $.ajax({
      url: '/solver/taskStatusList',
      dataType: 'json',
      type: 'get',
      success: function (data) {
        $.each(data, function (index, item) {
          $('#taskStatus').append(new Option(item.configValueName, item.configValueId));// 下拉菜单里添加元素
        });
        layui.form.render("select");
      }
    });

    //监听查询表单提交提交 lay-filter="search"
    form.on('submit(search)', function (data) {
      var formData = data.field;
      var solveTaskCode = formData.solveTaskCode;
      var solveTaskName = formData.solveTaskName;
      var issuedByName = formData.issuedByName;
      var taskStatus = formData.taskStatus;
      var startDate = formData.startDate;
      var endDate = formData.endDate;
      url = formData.url;
      icon = formData.icon;
      parent_id = formData.parent_id;
      //执行重载
      table.reload('test', {
        page: {
          curr: 1 //重新从第 1 页开始
        }
        , where: {//这里传参  向后台
          solveTaskCode: solveTaskCode,
          solveTaskName: solveTaskName,
          issuedByName: issuedByName,
          taskStatus: taskStatus,
          startDate: startDate,
          endDate: endDate
          //可传多个参数到后台...  ，分隔
        }
        , url: '/solver/solveList'//后台做模糊搜索接口路径
        , method: 'post'
      });
      return false;//false：阻止表单跳转  true：表单跳转
    });

    //监听工具条
    table.on('tool(demo)', function (obj) {
      var data = obj.data;
      console.log("id:" + data.id);
      if (obj.event === 'look') {
        layer.alert('ID：' + data.id + ' 的查看操作')
      } else if (obj.event === 'allocation') {
        // layer.alert('ID：'+ data.id + ' 的分配任务操作')
        layer.open({
          type: 2,
          content: ["/solver/addSlover"],   //添加页，后台controller转发到指定页
          area: ["500px", "300px"],
          title: ['添加消缺员'],
          fixed: false,
          //maxmin: true,
          shadeClose: true,
          end: function () {  //刷新页面

          }
        });
      } else if (obj.event === 'del') {
        layer.confirm('真的删除行么', function (index) {
          obj.del();
          layer.close(index);
        });
      } else if (obj.event === 'edit') {
        layer.alert('修改：<br>' + JSON.stringify(data))
      }
    });

    // 添加
    $('.list-cont1 #add').on('click', function () {
      var oBox = $('.col-list-cont');
      oBox.removeClass('show').eq(1).addClass('show')
    })
  })();

  /**
   * 制定缺陷任务
   */
  ;(function () {
    //工作单据类型选择添加到下拉框中
    $.ajax({
      url: '/solver/workDocType',
      dataType: 'json',
      type: 'get',
      success: function (data) {
        $.each(data, function (index, item) {
          $('#workDocType').append(new Option(item.configValueName, item.configValueId));// 下拉菜单里添加元素
        });
        layui.form.render("select");
      }
    });

    //任务负责人选择添加到下拉框中
    $.ajax({
      url: '/solver/taskManagerCode',
      dataType: 'json',
      type: 'get',
      success: function (data) {
        $.each(data, function (index, item) {
          $('#taskManagerCode').append(new Option(item.userName, item.userCode));// 下拉菜单里添加元素
        });
        layui.form.render("select");
      }
    });

    //监听submit提交按钮 button ，lay-filter 为 solverTaskAdd 的
    form.on('submit(solverTaskAdd)', function (data) {
      //此段代码可以获取提交的数据
      /*layer.alert(JSON.stringify(data.field), {
           title: '最终的提交信息'
       })*/
      //ajax 提交
      console.log($('#popupForm').serialize())
      $.ajax({
        type: "POST",
        dataType: "text",
        url: "/solver/solveTaskSave",//url
        data: $('#popupForm').serialize(),  //序列化提交表单数据
        success: function (result) {
          if (result = "seccess") {
            layer.msg('添加成功，1秒后自动关闭该窗口');
            //延迟1秒执行，目的是让用户看到提示
            setTimeout(function () {
              var oBox = $('.col-list-cont');
              oBox.removeClass('show').eq(0).addClass('show');
            }, 1 * 1000);
          }
          ;
        },
        error: function () {
          layer.msg('后台异常！未添加成功');
        }
      });
      //阻止页面跳转
      return false;
    });

    //自定义表单验证
    //required 为必填项
    form.verify({
      poleCode: function (value) {
        if (value.length != 10) {
          return "长度是10位！请重新输入";
        }
        var datas = {poleCode: value};
        console.log(datas);
        var message = '';
        $.ajax({
          type: "POST",
          url: '/pole/seclectByPoleCode',
          async: false, //改为同步请求
          contentType: 'application/json;charset=UTF-8',
          data: JSON.stringify(datas),
          dataType: 'json',
          success: function (data) {
            if (data) {

            } else {
              message = "杆塔编号已存在，请重新输入！"
            }
          }
        });
        //需要注意  需要将返回信息写在ajax方法外
        if (message !== '')
          return message;
      }
    });

    var _tools = {
      callbackShow: function (res) {
        console.log("res:" + res);
        for (var i = 0; i < res.length; i++) {
          var html = "<tr><tr><td>" + res[i].lineCode + "</td><td>" + res[i].poleCode + "</td><td>" + res[i].bugLevelName + "</td><td>"
              + res[i].bugTypeName + "</td><td>" + res[i].bugDesc + "</td><td>" + res[i].discovererName + "</td><td>"
              + res[i].discoverTime + "</td><td><a href='#'>移除</a></td></tr>";
          $("#bugList").append(html);
        }
      }
    }
    window.tools = _tools;

    // 返回按钮
    $('.list-cont2 #goback').on('click', function () {
      var oBox = $('.col-list-cont');
      oBox.removeClass('show').eq(0).addClass('show');
    });

// 添加消缺员
    $('.list-cont2 #addSlover').on('click', function () {
      layer.open({
        type: 2,
        content: ["/solver/addSlover"],   //添加页，后台controller转发到指定页
        area: ["500px", "300px"],
        title: ['添加消缺员'],
        fixed: false,
        //maxmin: true,
        shadeClose: true,
        end: function () {  //刷新页面

        }
      });
    });
    // 添加缺陷信息
    $('.list-cont2 #bugInfoAdd').on('click', function () {
      console.log("aaa");
      layer.open({
        type: 1,
        content: $('#listCont3'),   //添加页，后台controller转发到指定页
        area: ["800px", "350px"],
        title: ['选择缺陷'],
        // fixed: false,
        // //maxmin: true,
        // shadeClose: true,
        // end: function (index) {  //刷新页面
        //
        // }
      });
    });
  })()

  /**
   * 选择缺陷
   */
  ;(function () {
    //监听表格复选框选择
    table.on('checkbox(demo)', function (obj) {
      // console.log(obj.data)
    });
    var $ = layui.$, active = {
      getCheckData: function () { //获取选中数据
        var checkStatus = table.checkStatus('listCont3Status'),
            data = checkStatus.data;
        // console.log(JSON.stringify(data));
        //修改是否分配任务
        $.ajax({
          type: "POST",
          contentType: "application/json;charset=UTF-8",
          url: "/solver/isBugAllocate",//url
          data: JSON.stringify(data),  //提交的数据
          success: function (result) {
            if (result = "seccess") {
              layer.msg('添加成功');
              // alert(1)
              //延迟1秒执行，目的是让用户看到提示
              setTimeout(function () {
                // layer.tools.callbackShow(data);
                //1、先得到当前iframe层（弹出层）的索引  ///2、提交成功关闭弹出层窗口
                // var index = parent.layer.getFrameIndex(window.name);
                // parent.layer.close(index);
                layer.closeAll();
                // alert(2)
                table.reload('bugList', {
                  page: {
                    curr: 1 //重新从第 1 页开始
                  },
                  url: '/solver/bugInfoListStatus', //后台做模糊搜索接口路径
                  method: 'post'
                });
                table.reload('listCont3Status', {
                  page: {
                    curr: 1 //重新从第 1 页开始
                  },
                  url: '/solver/bugInfoList', //后台做模糊搜索接口路径
                  method: 'post'
                });
                // parent.tools.callbackShow(data);
              }, 1 * 1000);
            }
            ;
          },
          error: function () {
            layer.msg('后台异常！未添加成功');
          }
        });

        // parent.tools.callbackShow(data);
        // var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
        // parent.layer.close(index); //再执行关闭
      }
    };

    $('.demoTable .layui-btn').on('click', function () {
      var type = $(this).data('type');
      active[type] ? active[type].call(this) : '';
    });
  })()

});


